package com.review.day02;
/**
 * Java类--继承--方法：具备多态性
 *实现父子类方法相互调用，注意重写跟重载问题
 *实现多态：向上造型 父类对象 引用=new子类对象(); 【创建对象：常见】
 *
 *
 */
class A1{
    public void tell1(){
        System.out.println("A--你好，我是tell1");
    }
    public void tell2(){
        System.out.println("A--你好，我是tell2");
    }
}
class B1 extends A1{
    public void tell2() {
        System.out.println("B--你好，我是tell2");
    }
    public void tell3() {
        System.out.println("B--你好，我是tell3");
    }
}


public class 多态造型问题 {
    public static void main(String[] args) {
        //继承---方法，方法互通   考虑：多态【造型上/下】
     //   B1 b1=new B1();
      //  A1 a1=b1;
     //   a1.tell1();
     //   a1.tell2();//向上造型：调用父类方法 没有实现方法互通
                     //   如果有重写：子类覆盖父类的方法
        //向下造型
      A1 a1=new B1();//①父类 引用new 子类();向上造型一次
      B1 b1=(B1) a1;//②子类 引用=（子类对象）向上造型引用
       //实现：方法互通
       b1.tell1();//父类方法
       b1.tell2();//子类方法，重写
       b1.tell3();//子类方法
    }
}
